package com.vvv.shortlink.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.vvv.shortlink.project.dto.req.LinkStatsAccessRecordReqDTO;
import com.vvv.shortlink.project.dto.req.LinkStatsReqDTO;
import com.vvv.shortlink.project.dto.resp.LinkStatsAccessRecordRespDTO;
import com.vvv.shortlink.project.dto.resp.LinkStatsRespDTO;

/**
 * @author vvv
 * @date 2024/2/21 17 48
 * discription
 */
public interface LinkStatsService {

    /**
     * 访问单个短链接指定时间内监控数据
     *
     * @param requestParam
     * @return
     */
    LinkStatsRespDTO oneShortLinkStats(LinkStatsReqDTO requestParam);

    /**
     * 访问单个短链接指定时间内监控数据，异步编排版本
     * @param requestParam
     * @return
     */
    LinkStatsRespDTO oneShortLinkStatsFutureVersion(LinkStatsReqDTO requestParam);

    /**
     * 分页查询单个短链接监控访问记录
     *
     * @param requestParam
     * @return
     */
    IPage<LinkStatsAccessRecordRespDTO> shortLinkStatsAccessRecord(LinkStatsAccessRecordReqDTO requestParam);
}
